Ringkasan Kajian

Lapisan Pengangkutan dalam Komunikasi Rangkaian

Panduan kajian komprehensif ini merangkumi fungsi, protokol, dan mekanisme utama Lapisan Pengangkutan dalam model TCP/IP, bertanggungjawab untuk komunikasi logik hujung-ke-hujung antara proses aplikasi pada hos yang berbeza.

Ringkasan dan Definisi Asas

Lapisan Pengangkutan menyediakan perkhidmatan penting seperti multiplexing (menggabungkan data dari berbilang aplikasi ke dalam satu segmen dengan pengepala pengangkutan) dan demultiplexing (menghantar segmen ke aplikasi yang betul di penerima berdasarkan maklumat pengepala). Ia juga menguruskan pemindahan data yang boleh dipercayai (rdt), kawalan aliran (mengawal kadar penghantaran agar tidak membanjiri penerima), dan kawalan kesesakan (menguruskan kadar penghantaran untuk mengelakkan kesesakan rangkaian).

Protokol Utama

  • 🗂️
    Protokol Unit Datagram Pengguna (UDP):

    Protokol tanpa sambungan, ringan, yang menyediakan perkhidmatan "best-effort" tanpa jaminan penghantaran yang boleh dipercayai atau mengikut tertib.

  • 🔗
    Protokol Kawalan Penghantaran (TCP):

    Protokol berorientasikan sambungan yang menyediakan penghantaran data yang boleh dipercayai, mengikut tertib, serta menguruskan kawalan aliran dan kesesakan.

Istilah Penting

  • 🔢
    Nombor Jujukan (Sequence Number):

    Dalam TCP, nombor bait pertama data dalam segmen yang dihantar.

  • Nombor Pengakuan (Acknowledgment Number - ACK):

    Dalam TCP, nombor jujukan bait seterusnya yang diharapkan oleh penerima.

  • 🚧
    Tetingkap Kesesakan (Congestion Window - cwnd):

    Jumlah data maksimum yang boleh dihantar oleh penghantar sebelum menunggu pengakuan, dikawal oleh mekanisme kawalan kesesakan.

  • 📊
    Ambang Mula Perlahan (Slow Start Threshold - ssthresh):

    Nilai ambang yang menentukan peralihan daripada fasa Slow Start ke Congestion Avoidance dalam kawalan kesesakan TCP.

Konsep Utama

💡

Perkhidmatan Lapisan Pengangkutan

Komunikasi logik, multiplexing/demultiplexing, rdt, kawalan aliran, dan kawalan kesesakan.

🔄

Protokol Pengangkutan Internet

UDP (tanpa sambungan, best-effort) vs TCP (berorientasikan sambungan, boleh dipercayai).

🔌

Socket

Titik akhir komunikasi logik. UDP (2-tuple), TCP (4-tuple).

📜

Pengepala Segmen UDP

Nombor port sumber/destinasi, panjang, dan checksum.

🔍

Checksum UDP

Mekanisme mudah untuk mengesan ralat bit.

🛡️

Prinsip Pemindahan Data Boleh Dipercayai (rdt)

rdt1.0 (saluran boleh dipercayai), rdt2.0 (ACK/NAK), rdt3.0 (pemasa undur).

🚀

Pipelining

Membenarkan berbilang paket "in-flight" untuk meningkatkan penggunaan saluran.

⚙️

Protokol Pipelined

Go-Back-N (GBN) vs Selective Repeat (SR).

🌟

Ciri-ciri TCP

Point-to-point, aliran bait boleh dipercayai, mengikut tertib, full-duplex, berorientasikan sambungan (jabat tangan 3 hala), dikawal aliran, dan pipelined.

📦

Struktur Segmen TCP

Nombor jujukan, nombor pengakuan, panjang pengepala, tetingkap terima (`rwnd`), checksum, dan bendera (URG, ACK, PSH, RST, SYN, FIN).

⏱️

RTT dan Timeout TCP

RTT diukur untuk menganggarkan masa tamat; masa tamat yang tidak betul boleh menyebabkan penghantaran semula tidak perlu atau tindak balas lambat.

📩

Penjanaan ACK Penerima TCP

Boleh menggunakan ACK tertunda, ACK kumulatif segera, atau ACK pendua segera.

Penghantaran Semula Pantas (Fast Retransmit)

Dicetuskan oleh tiga ACK pendua, menandakan kehilangan paket tanpa menunggu masa tamat.

🌊

Kawalan Aliran TCP

Penerima mengiklankan ruang penimbal percuma (`rwnd`); penghantar mengehadkan data yang belum diakui kepada nilai ini.

🤝

Pengurusan Sambungan TCP

Jabat Tangan 3 Hala (SYN -> SYN-ACK -> ACK) untuk mewujudkan sambungan.

🛑

Kesesakan Rangkaian

Berlaku apabila terlalu banyak data dihantar terlalu cepat untuk rangkaian, menyebabkan kehilangan paket dan kelewatan.

🚦

Pendekatan Kawalan Kesesakan

Hujung-ke-hujung (TCP) atau bantuan rangkaian (penghantar memberi maklum balas).

📈

Fasa Kawalan Kesesakan TCP

Mula Perlahan (SS), Pengelakan Kesesakan (CA), Pemulihan Pantas (FR).

🔄

Tindak Balas TCP terhadap Peristiwa Kehilangan

TCP Tahoe: Masa tamat atau 3 ACK pendua menyebabkan `ssthresh` = `cwnd`/2, `cwnd` = 1 MSS (kembali ke Slow Start). TCP Reno: Masa tamat sama seperti Tahoe. 3 ACK pendua menyebabkan `ssthresh` = `cwnd`/2, `cwnd` = `ssthresh` + 3 MSS (memasuki Fast Recovery).

➕➖

AIMD (Additive Increase Multiplicative Decrease)

Perilaku kawalan kesesakan TCP.

Network Communication Diagram

Bantuan Memori

🧠
TCP: **T**etap **C**ek **P**aket (Boleh dipercayai).
💨
UDP: **U**rus **D**an **P**ercaya (Tidak boleh dipercayai).
🤝
Jabat Tangan 3 Hala TCP: **S**YN-**S**YNACK-**A**CK (S.S.A.).
📊
Fasa Kawalan Kesesakan TCP: **S**low **S**tart, **C**ongestion **A**voidance, **F**ast **R**ecovery (SS.CA.FR).
📈
Formula Kadar Penghantaran TCP: `kadar ≈ cwnd / RTT`.
2️⃣
rdt2.0: "Acknowledge NAKed" (ACK/NAK).
3️⃣
rdt3.0: "Tiga Timer" (penggunaan pemasa).
🔙
GBN: "Go Back, N" (hantar semula semua).
🛠️
SR: "Selective Repair" (hantar semula secara selektif).

Panduan Kajian Berstruktur

1. Apa yang Perlu Diingat

  • Tujuan Lapisan Pengangkutan: Komunikasi logik antara proses aplikasi.
  • Perbezaan UDP vs TCP: UDP (tanpa sambungan, best-effort) vs TCP (berorientasikan sambungan, boleh dipercayai, kawalan aliran/kesesakan).
  • Mekanisme rdt: Fahami penanganan ralat/kehilangan (1.0, 2.0, 3.0).
  • Pipelining: Meningkatkan penggunaan saluran.
  • Protokol Pipelined (GBN vs SR): Perbezaan ACK dan penghantaran semula.
  • Jabat Tangan 3 Hala TCP: Proses pembentukan sambungan.
  • Fasa Kawalan Kesesakan TCP: Urutan dan perubahan `ssthresh`/`cwnd` (Tahoe vs Reno).
  • Kawalan Aliran vs Kawalan Kesesakan: Keupayaan penerima vs kapasiti rangkaian.

2. Bagaimana Konsep Berfungsi

  • Multiplexing & Demultiplexing: Penggabungan/pengarahan data menggunakan pengepala pengangkutan. UDP (2-tuple), TCP (4-tuple).
  • Checksum UDP: Pengiraan penjumlahan one's complement untuk pengesanan ralat.
  • rdt3.0 (Alternating-bit protocol): Penghantar menghantar dengan nombor jujukan bergantian, menggunakan pemasa; penerima menerima mengikut tertib.
  • Go-Back-N (GBN): Penghantar menghantar sehingga N paket; pemasa tamat masa mencetuskan penghantaran semula semua paket yang belum diakui. Penerima menghantar ACK kumulatif.
  • Selective Repeat (SR): Penghantar mempunyai pemasa individu untuk setiap paket; pemasa tamat masa mencetuskan penghantaran semula paket tertentu. Penerima menghantar ACK individu dan menimbal paket luar tertib.
  • Kawalan Aliran TCP: Penerima mengiklankan `rwnd`; penghantar mengehadkan data yang belum diakui kepada `rwnd`.
  • Kawalan Kesesakan TCP:
    • Slow Start: `cwnd` meningkat eksponen (berganda setiap RTT).
    • Congestion Avoidance: `cwnd` meningkat linear (1 MSS setiap RTT).
    • Peristiwa Kehilangan: Masa tamat (Tahoe/Reno) menyebabkan `ssthresh` = `cwnd`/2, `cwnd` = 1 MSS (kembali ke SS). 3 ACK pendua (Reno) menyebabkan `ssthresh` = `cwnd`/2, `cwnd` = `ssthresh` + 3 MSS (masuk Fast Recovery).

3. Kesilapan Pelajar yang Lazim

  • Mengelirukan TCP dan UDP.
  • Salah faham Nombor Jujukan TCP vs Nombor Pengakuan.
  • Mengelirukan Kawalan Aliran dan Kawalan Kesesakan.
  • Perbezaan GBN dan SR (ACK, penghantaran semula).
  • Gagal memahami perubahan `cwnd` dan `ssthresh` (Tahoe vs Reno).
  • Kesilapan dalam pengiraan Checksum UDP.

4. Tips Kajian Berkesan

  • Lukis Rajah Aliran Masa untuk memahami protokol dan mekanisme.
  • Gunakan Analogi dunia sebenar.
  • Fokus pada "Mengapa" konsep wujud.
  • Latihan Soalan Amali (pengiraan, rajah, analisis `cwnd`/`ssthresh`).
  • Banding dan Beza (TCP vs UDP, GBN vs SR, Tahoe vs Reno).

5. Aplikasi Dunia Sebenar

🌐 Penyemakan Imbas Web (HTTP): TCP
📧 E-mel (SMTP, POP3, IMAP): TCP
📁 Pemindahan Fail (FTP): TCP
🎬 Penstriman Multimedia (Netflix, YouTube): UDP/TCP
🎮 Permainan Dalam Talian: UDP
📞 Panggilan Suara/Video (VoIP): UDP
🔗 Sistem Nama Domain (DNS): UDP/TCP
⚙️ Pengurusan Rangkaian (SNMP): UDP

Soalan Latihan

Soalan 1: Multiplexing dan Demultiplexing

UDP: Menggunakan 2-tuple (alamat IP destinasi, nombor port destinasi) untuk mengarahkan segmen ke soket yang betul.

TCP: Menggunakan 4-tuple (alamat IP sumber, nombor port sumber, alamat IP destinasi, nombor port destinasi) untuk mengenal pasti soket secara unik, membolehkan berbilang sambungan ke aplikasi yang sama.

Soalan 2: Pengiraan Checksum UDP

Diberikan 50439, 16397, 15.

  1. Tukar ke binari 16-bit: 1100010100000111, 0100000000001101, 0000000000001111.
  2. Jumlahkan (one's complement): 10000010100010010 (dengan carry-out 1).
  3. Lilitkan carry-out: 0000010100010011.
  4. Tambah 15: 0000010100100010.
  5. One's complement jumlah akhir: 1111101011011101 (FADB heksadesimal).

Nilai checksum UDP: `1111101011011101`.

Soalan 3: Perbandingan Go-Back-N dan Selective Repeat

Ciri Go-Back-N (GBN) Selective Repeat (SR)
Penghantaran ACK ACK kumulatif. ACK individu.
Penimbalan Penerima Tidak menimbal paket luar tertib. Menimbal paket luar tertib.
Pemasa Penghantar Satu pemasa untuk paket tertua. Pemasa individu untuk setiap paket.
Penghantaran Semula Menghantar semula semua paket yang belum diakui. Menghantar semula hanya paket yang masa tamat.
Penggunaan Saluran Kurang cekap dalam ralat tinggi. Lebih cekap dalam ralat tinggi.

Soalan 4: Kawalan Kesesakan TCP

  • Slow Start (SS): `cwnd` berkembang eksponen sehingga `ssthresh`.
  • Congestion Avoidance (CA): `cwnd` berkembang linear selepas `ssthresh`.
  • Fast Recovery (FR): Dalam TCP Reno, selepas 3 ACK pendua.

Tindak Balas TCP Reno terhadap Kehilangan:

  • Masa Tamat: `ssthresh` = `cwnd`/2, `cwnd` = 1 MSS (kembali ke SS).
  • 3 ACK Pendua: `ssthresh` = `cwnd`/2, `cwnd` = `ssthresh` + 3 MSS (masuk FR).

Soalan 5: Jadual Kawalan Kesesakan TCP

Asumsi: `ssthresh` = 6 MSS. Masa tamat pada TR=8.

TR CW SS `ssthresh`
1116
2226
3446
4886
5996
610106
711116
812126
9116
10226
11446
12886
13996
1410106
  • b) Ambang baharu (`ssthresh`) selepas masa tamat: 6 MSS.
  • c) Julat TR dalam pengelakan kesesakan: TR 4-8 dan TR 12-14.
  • d) Julat TR dalam pemulihan pantas: Tiada (kerana masa tamat, bukan 3 ACK pendua).
  • e) Pada TR mana ambang baharu diterapkan dan berapa banyak segmen dihantar: Ambang baharu diterapkan pada TR 9. 1 segmen dihantar.

Kesimpulan

Lapisan Pengangkutan adalah kritikal untuk komunikasi hujung-ke-hujung yang berkesan. Memahami perbezaan antara UDP dan TCP, mekanisme rdt, serta kawalan aliran dan kesesakan TCP, adalah penting untuk pelbagai aplikasi internet. Protokol ini menyeimbangkan prestasi, kebolehpercayaan, dan pengurusan sumber rangkaian.